iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0
SideProject30

年輕人,想玩自己寫!系列 第 26

第二十五章,小地方也不想馬虎

  • 分享至 

  • xImage
  •  

當前進度:
10/4 遊戲玩法試作 (OK)
10/7 成就系統啟動 (OK)
10/10初版發布
10/14上架各平台
10/16 完成專案

因為還缺了很多細節,所以我們沒辨法在10/10發布初版。
目前是希望能在這兩天至少做出「試玩版」,然後試著上架。
因為根據經驗,全新的app在上架時,通常會需要一週左右的時間才會通過審核,
但更新卻可以很快發布。
所以就算在前一項進度落後的情況下,還是希望能提前完成上架的部份。

今天的工程進度仍然是在刻畫面中,包含卡牌、轉蛋、信箱的部份。
只是刻畫面是沒什麼問題,但是一些小細節的缺少,會讓遊戲變的沒那麼有趣。
例如過場及影片!
常用的一些過場,如滑入:
圖源:https://medium.com/flutter-taipei/%E4%BE%86%E5%90%A7-flutter-13-animated-dialog-66cf9a76a2f2
https://miro.medium.com/v2/resize:fit:640/1*IWxqqTz4JvhYXIDGvt3X0Q.gif
或是一些放大縮小
圖源:https://openhome.cc/Gossip/Flutter/images/RouteAnimation-4.gif
https://openhome.cc/Gossip/Flutter/images/RouteAnimation-4.gif
用在切換畫面、跳出信箱與提示之類的應該能增加一點趣味性。

  • 滑入
    這是用Matrix4.translationValues及CurvedAnimated製作的效果。
    Transform class可以修改Widget的位置及大小,只要將你想要做出效果的元件包在裡面,並且更改他的Matrix4.translationValues,就可以讓元件產生縮放、位移,甚至改變形狀的動畫。不只可以用在本處,在PageView、ListView中,也常被使用。
Transform(
      transform: Matrix4.translationValues(
          X軸位移,
          Y軸位移,
          Z軸位移),
      child: 你的Widget)

然後使用CurvedAnimated與Tween來改變Y軸位移的值。

final _controller =
        AnimationController(vsync: this, duration: Duration(milliseconds: 動畫時長));

final _animation =
        CurvedAnimation(parent: _controller, curve: Curves.easeInOut); ///你要的動畫路徑
        tween = Tween<double>(begin: 1.0, end: 0.0).animate(animation);
        
         _controller
      ..addListener(() {
        setState(() {});
      })

這樣就可以讓你的元件動起來了~

  • 主題局部放大
    這是用到了Hero這個元件的效果,使用方式也很容易。
    第一步,是要把兩個頁面中相同的兩個UI元件包進Hero元件中,
    然後給相同的Tag,就完成囉~
Hero(
     tag: '二個tag需為相同的字串',
     child: 你的元件,
     )

劇情的過場應該還是要有影片,目前打算試著用PowerPoint錄影的方式製作,記得以前有一些影片是這樣做成的,
不過可能要測試一下這樣的影片用video_player套件播放起來,效果如何。

參考
[译] 关于 Flutter 页面路由过渡动画,你所需要知道的一切
來吧!Flutter(13) — Animated Dialog
路由動畫


上一篇
第二十四章,不會畫畫的我,也能製作角色圖嗎?
下一篇
第二十六章,年輕人終究是年輕人
系列文
年輕人,想玩自己寫!31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言